(define test1 '(AND (NOT A) B (NOT (OR A B))))
(define test2 '(AND A B))
(define test3 '(NOT (AND A (NOT (NOT C)) D (OR E (NOT F)))))
(define test4 '(NOT (NOT (NOT (NOT C)))))




(define test5 '(NOT (AND A (OR B C))))
(define test6 '(NOT (NOT (AND A B))))
(define test7 '(NOT (AND (NOT B) (OR (NOT A) (NOT B)))))
(define test8 '(NOT (AND (NOT A) (NOT B))))

(define test9 '(NOT(NOT A)))
(define test27 '(AND A B C (OR P Q R) (OR X Y Z))) ;(or (and a b c x y z p) (and a b c x y z q) (and a b c x y z r))
          ;(or (and a b c p x) (and a b c p y) (and a b c p z) (and a b c q x) (and a b c q y) (and a b c q z) (and a b c r x) (and a b c r y) (and a b c r z))
(define test28 '(AND (OR P Q R) A B C (OR X Y Z))) ;(or (and a b c x y p z) (and a b c x y q z) (and a b c x y r z))
          ;(or (and p a b c x) (and p a b c y) (and p a b c z) (and q a b c x) (and q a b c y) (and q a b c z) (and r a b c x) (and r a b c y) (and r a b c z))
(define test29 '(AND (OR P Q R) (OR X Y Z) A B C)) ;(or (and a b c x y p z) (and a b c x y q z) (and a b c x y r z))
          ;The previous code does not solve this properly.
(define test30 '(AND A (OR P Q R) B (OR X Y Z) C)) ;(or (and a b c x y p z) (and a b c x y q z) (and a b c x y r z))
          ;(or (and a p b x c) (and a p b y c) (and a p b z c) (and a q b x c) (and a q b y c) (and a q b z c) (and a r b x c) (and a r b y c) (and a r b z c))


(define test01 '(AND (OR B (AND C (OR M N) F) D) (OR W(AND P (OR Q
(AND X Y) X A)))))
(define test21 '(AND X A (OR B (AND C (OR M N) F) D) (OR W(AND P (OR Q
(AND X Y))))))
(define test02 '(AND X (OR Y Z)))
(define test03 '(AND (OR B C D) A B))
(define test04 '(AND X Z (OR A B C)))
(define test08 '(AND (OR A B C) X Z))
(define test05 '(AND (OR X Y) (OR W Z) ))
(define test06 '(OR (AND X Y (OR A B)) U))
(define test07 '(AND (OR X Y N Z) (OR U W M)))
(define test09 '(AND A D (OR B C)))
(define test10 '(AND (OR B C) A D))
(define test11 '(AND D (OR B C) A))
(define test12 '(AND A D (OR B A)))
(define test13 '(AND (OR B A) A D))
(define test14 '(AND D (OR B A) A))
(define test15 '(OR (AND D A) (AND C B) D))
(define test16 '(OR D (AND D A) (AND C B)))
(define test17 '(OR A (NOT D) (AND B A)))
(define test18 '(OR (AND B A) A D))
(define test19 '(OR D (AND B A) A))
(define test20 '(OR (NOT A) B C))
(define test22 '(OR (AND A D) D (AND C B)))
(define test100 '(AND (OR A c B)(OR (NOT A)(NOT B))(OR A (NOT B))(OR (NOT A)B) ))
(define test102 '(AND B (NOT b)  (OR M (NOT N) K) (OR O P) (OR (NOT N) B) (OR N G) (NOT A) A (OR G H M) (OR G K) 
	(OR M N A G H) (OR (NOT A) N (NOT B) C D P Q R)))

(define test103 '(AND B (NOT c)  (OR M (NOT N) K) (OR O P) (OR (NOT N) B) (OR z a c b(NOT a)) 
	(OR N G) (NOT a) A (OR G H M) (OR G K) 
	(OR M N A G mnH) (OR N  (NOT B) (NOT A) xC D P Q R)))

(define test104 '(AND A (NOT B)  (OR M (NOT N) K) (OR O P) (OR (NOT N) B) (OR z a c b(NOT a)) (OR N G) 
		(NOT C) A (OR G H M) (OR G K) (OR M N A G mnH) (OR N  (NOT B) (NOT A) xC D P Q R)))
